Method and system for determining a correct reproduction of a movement

ABSTRACT

Method for determining a correct reproduction of a movement of a target based on a plurality of orientations thereof at different time instants at least including first and second time instants, the second time instant being posterior to the first time instant, the movement being defined by at least a first predetermined constraint, the first predetermined constraint being defined for first and second orientations of the plurality of orientations and defined by a start angle, an end angle and a first plane definition, comprising: providing a first plane and a second plane, each defined by the first plane definition, corresponding to the first and second time instants, respectively; providing a first pair of vectors by projecting the first orientation and the second orientation, corresponding to the first time instant, onto the first plane; providing a second pair of vectors by projecting the first orientation and the second orientation, corresponding to the second time instant, onto the second plane; computing first and second angles between the pair of vectors of the first and second pairs of vectors, respectively; and determining the correct reproduction of the movement if: the first angle is equal to or less than the start angle, and the second angle is equal to or greater than the end angle.

TECHNICAL FIELD

The present invention has its application within the sectors of motiontracking, and especially, in the industrial area engaged in providingtools for determining the correct realization or reproduction of aphysical exercise.

STATE OF THE ART

Body-tracking technologies have focused a significant attention from theindustrial and scientific communities, due to their potentialapplications, on diverse fields such as physical therapy, physicalexercise monitoring, prosthetics, augmented reality and virtual reality,to name a few. Body-tracking enables to automatically determine aposition of a user, either as a whole, or segmented by limbs, henceenabling automated position recognition and supervision.

For example, by determining the relative positions and orientations of auser's limbs and/or body segments (e.g. legs, arms, forearms, head,torso, etc), the correct realization or reproduction of a physicalexercise entailing the carrying out of one or more movements can beautomatically assessed. This enables the user, his/her fitnessinstructor or even his/her therapist to detect and possibly preventharmful positions or movements that may result in injuries. Accurate,detailed and real-time posture and movement information is hence highlysought after in order to provide an efficient monitoring.

Body-tracking technologies can be roughly divided into two groups: thoserelying on wearable sensors attached to the user, and those relying onexternal information capture means, such as video cameras. For example,U.S. Pat. No. 8,165,844 B2 discloses a motion-tracking system providing3D position and orientation information of a plurality of body segments.For this purpose the motion-tracking system comprises a plurality ofwearable sensors that capture inertial information and, optionally, alsomagnetic field information. The information gathered from the pluralityof wearable sensors is gathered at a Digital Signal Processor (DSP) orother form of programmable hardware, and processed through Kalmanfilters.

In another wearable sensor example, U.S. Pat. No. 7,811,333 B2 disclosesa technique that captures time-resolved signals associated with themovements of a device attached to a limb. The captured signals areprocessed through autoregressive filters, and compared to stored datasets that characterize limb-motion events and/or phases. Time-resolvedsignals may be captured, for example, through accelerometers measuringdisplacements in three orthogonal planes. The captured information, andits comparison with the stored data sets, is preferably applied tocontrol prosthetics or orthotic joints.

Regarding solutions based on external data capture, U.S. Pat. No.6,831,603 B2 discloses a motion tracking technique where beacon signalsare periodically transmitted from a reference tag and from object tagsattached to the user or user's limbs being tracked. Beacon signals arereceived at an array of sensors installed in several positions of thezone under analysis. By measuring and comparing an identification code,a code phase and a carrier phase in each beacon signal, the relativeposition between the emitting tag and each sensor is determined for eachsampling instant.

In another example, U.S. Pat. No. 7,395,181 B2 discloses a motiontracking system where a first estimate of the position and/ororientation of the user is performed through inertial measurements. Thisfirst estimate is then updated through an auxiliary technique, such asacoustic ranging, in order to enhance the system accuracy.

Finally, U.S. Pat. No. 7,840,031 B2 discloses an example ofbody-tracking technique based on three-dimensional (3D) images capturedby one or more cameras aimed at the body of a user. A first 3D movementcaptured by the camera is used to predict a movement baseline, which islater compared to a second 3D movement in order to track changes in arange of body movement.

Regardless of the particular technique used for position and/ororientation acquisition, it is then necessary to process the acquireddata in order to determine the user's posture and the movements the usermakes. When this posture and movement determination are to be used forgaining knowledge of how the user moves and is positioned, aparticularly challenging problem is recognizing a plethora of incorrectpositions that may result in injury. In some cases, these incorrectpositions are caused by subtle changes or small movements, hamperingtheir detection. In other cases, the limbs causing the incorrectpositions are not the ones performing the main movement (e.g. a faultyleg position in an arm exercise), thereby increasing the difficulty ofproperly detecting a possible harmful position and/or movement.Furthermore, it would be desirable that once the realization orreproduction of movement is determined to be within or outside of apredetermined range, that such information regarding the realization orreproduction of movement is provided so that the user, the fitnessinstructor or the therapist may know and take a measure if necessary.

Therefore, there is still the need in the state of the art of atechnique for assessing how physical movements are carried out in areal-time manner, with a high accuracy and robustness. Furthermore, itis desirable that said technique is straightforwardly scalable to anumerous set of exercises and/or movements. Finally, in case a wrongmovement or position is detected, it is desirable that the techniquemakes possible to provide information indicating the same.

DESCRIPTION OF THE INVENTION

A first aspect of the invention relates to a method for determining acorrect reproduction of a movement of a target based on a plurality oforientations thereof at different time instants, the different timeinstants at least including first and second time instants, the secondtime instant being posterior to the first time instant, the movementbeing defined by at least a first predetermined constraint, the firstpredetermined constraint being defined for first and second orientationsof the plurality of orientations and defined by a start angle, an endangle and a first plane definition, the method comprising: providing afirst plane and a second plane, each defined by the first planedefinition, corresponding to the first and second time instants,respectively; providing a first pair of vectors by projecting the firstorientation and the second orientation, corresponding to the first timeinstant, onto the first plane; providing a second pair of vectors byprojecting the first orientation and the second orientation,corresponding to the second time instant, onto the second plane;computing first and second angles between the pair of vectors of thefirst and second pairs of vectors, respectively; and determining thecorrect reproduction of the movement if: the first angle is equal to orless than the start angle, and the second angle is equal to or greaterthan the end angle.

The method makes possible to evaluate and, thus, determine whether amovement is correctly reproduced by processing the plurality oforientations that represent the movement that something or someone maybe carrying out. The movement is considered to be reproduced correctlyif each predetermined constraint defining the movement is fulfilled bythe movement carried out by the target as determined by the plurality oforientations at the different time instants.

Each orientation represents how a segment or part of a target (e.g. anobject, a person, etc.) is oriented. With pairs of orientations it maybe established how the segments or parts are angularly moving onerelative to the other. Each orientation of the plurality of orientationsuses or is referenced to a same global reference frame (i.e. theorientations use a same coordinate system with same reference points).Preferably, each orientation of the plurality of orientations is athree-dimensional vector. Preferably, both vectors of each pair ofvectors are three-dimensional vectors or two-dimensional vectors.

The first predetermined constraint and, possibly, additional or eveneach predetermined constraint has associated therewith a pair oforientations, a set of angles and a plane definition. The planedefinition establishes what plane is provided, for each time instant,onto which the pairs of orientations are projected so as to determinewhether the angular movement determined from the pair of orientationsfulfills the condition(s) of the predetermined constraint. Accordingly,the set of angles of the first predetermined constraint comprises astart angle and an end angle that define the range of the movement, thatis, from which angle (i.e. start angle) up to which angle (i.e. endangle) the movement is defined that the target has to carry out. Thecomputed angles corresponding to different time instants are comparedwith said start and end angles in order to establish whether themovement has been correctly reproduced by the target.

In some embodiments, the movements are defined by more than onepredetermined constraint. Each predetermined constraint limits more themovement against which the movement (of the target) resulting from theplurality of orientations and, optionally, one or more accelerations (atthe different time instants) is to be compared. Hence, further computedangles or acceleration measurements (the latter provided by motiontracking means) are to be compared so as to determine whether thepredetermined constraints are fulfilled and, thus, the movement iscorrectly reproduced. Mainly, the first predetermined constraint definesthe motion range of the movement, whereas additional predeterminedconstraints (e.g. second, third, fourth predetermined constraints, etc.)define further limitations that shall be complied with by the targetwhen carrying out the entire motion range of the movement.

In some embodiments, the movement is further defined by a secondpredetermined constraint, the second predetermined constraint beingdefined for third and fourth orientations of the plurality oforientations and defined by a first angular range and a second planedefinition. In these embodiments, the method further comprises:providing a third plane, defined by the second plane definition,corresponding to the second time instant; providing a third pair ofvectors by projecting the third orientation and fourth secondorientation, corresponding to the second time instant, onto the thirdplane; and computing a third angle between the pair of vectors of thethird pair of vectors. Further, determining the correct reproduction ofthe movement comprises that the third angle is within the first angularrange. That is to say, that the third angle is equal to or greater thana lower threshold (i.e. lower angle) of the angular range and equal toor less than an upper threshold (i.e. upper angle) of the angular range.

The movement limitations resulting from the second predeterminedconstraint and/or additional predetermined constraints may relate to themovement of parts of the target different than those that shouldreproduce the movement as defined by the first predetermined constraint.Accordingly, said second and/or additional predetermined constraints aredefined for orientations such that one or both of them are/is differentfrom the first orientation and/or the second orientation.

In some embodiments, the movement is further defined by a secondpredetermined constraint, the second predetermined constraint beingdefined for the first and second orientations and defined by a firstangular range and a second plane definition. In these embodiments, themethod further comprises: providing a third plane, defined by the secondplane definition, corresponding to the second time instant; providing athird pair of vectors by projecting the first orientation and the secondorientation, corresponding to the second time instant, onto the thirdplane; and computing a third angle between the pair of vectors of thethird pair of vectors. Further, determining the correct reproduction ofthe movement comprises that the third angle is within the first angularrange.

The movement limitations resulting from the second predeterminedconstraint and/or additional predetermined constraints may relate to themovement of parts of the target that are the same as those that shouldreproduce the movement as defined by the first predetermined constraint.Accordingly, said second and/or additional predetermined constraintsare/is defined for the first orientation and/or the second orientation.

In some embodiments, the method further comprises: providing a fourthplane, defined by the second plane definition, corresponding to thefirst time instant; providing a fourth pair of vectors by projectingeach orientation for which the second predetermined constraint isdefined (e.g. the first and second orientations, the third and fourthorientations, etc.), corresponding to the first time instant, onto thefourth plane; and computing a fourth angle between the pair of vectorsof the fourth pair of vectors. In these embodiments, determining thecorrect reproduction of the movement further comprises that the fourthangle is within the first angular range.

Determining that a user has started to reproduce a movement may alsodepend on whether the second predetermined constraint and/or anyadditional predetermined constraints are/is fulfilled at the first timeinstant.

In some embodiments, the movement is further defined by additionalpredetermined constraints (e.g. third predetermined constraint, fourthpredetermined constraint, etc.).

By way of example, the movement is further defined by a thirdpredetermined constraint, the third predetermined constraint beingdefined for fifth and sixth orientations of the plurality oforientations and defined by a second angular range and a third planedefinition. Further, the method comprises: providing a fourth plane,defined by the third plane definition, corresponding to the second timeinstant; providing a fourth pair of vectors by projecting the fifthorientation and the sixth orientation, corresponding to the second timeinstant, onto the fourth plane; and computing a fourth angle between thepair of vectors of the fourth pair of vectors. Further, determining thecorrect reproduction of the movement comprises that the fourth angle iswithin the second angular range. Additionally, the method may alsocomprise: providing a fifth plane, defined by the third planedefinition, corresponding to the first time instant; providing a fifthpair of vectors by projecting the fifth orientation and the sixthorientation, corresponding to the first time instant, onto the fifthplane; computing a fifth angle between the pair of vectors of the fifthpair of vectors; and determining the correct reproduction of themovement comprises that the fifth angle is within the second angularrange.

By way of another example, the movement is further defined by a third orfourth predetermined constraint, the third or fourth predeterminedconstraint being defined for third and fourth orientations of theplurality of orientations and defined by a second angular range and athird plane definition. Further, the method comprises: providing afourth plane, defined by the third plane definition, corresponding tothe second time instant; providing a fourth pair of vectors byprojecting the third orientation and the fourth orientation,corresponding to the second time instant, onto the fourth plane; andcomputing a fourth angle between the pair of vectors of the fourth pairof vectors. Further, determining the correct reproduction of themovement comprises that the fourth angle is within the second angularrange. Additionally, the method may also comprise: providing a fifthplane, defined by the third plane definition, corresponding to the firsttime instant; providing a fifth pair of vectors by projecting the thirdorientation and the fourth orientation, corresponding to the first timeinstant, onto the fifth plane; computing a fifth angle between the pairof vectors of the fifth pair of vectors; and determining the correctreproduction of the movement comprises that the fifth angle is withinthe second angular range.

In some embodiments, the different time instants further include a thirdtime instant, the third time instant being posterior to the first timeinstant and anterior to the second time instant.

In some embodiments, the method further comprises: providing a fourthplane, defined by the first plane definition, corresponding to the thirdtime instant; providing a fourth pair of vectors by projecting the firstorientation and the second orientation, corresponding to the third timeinstant, onto the fourth plane; computing a fourth angle between thepair of vectors of the fourth pair of vectors; and determining thecorrect reproduction of the movement further comprises that the fourthangle is greater than the start angle and less than the end angle. Insome of these embodiments, the method further comprises: providing afifth plane, defined by the second plane definition, corresponding tothe third time instant; providing a fifth pair of vectors by projectingeach orientation for which the second predetermined constraint isdefined (e.g. the first and second orientations, or the third and fourthorientations, etc.), corresponding to the third time instant, onto thefifth plane; computing a fifth angle between the pair of vectors of thefifth pair of vectors; and determining the correct reproduction of themovement further comprises that the fifth angle is within the firstangular range.

When the plurality of orientations of the target is provided for moretime instants, determining the correct reproduction of the movementinvolves comparing that the corresponding computed angles fall withinthe motion range of the movement as defined by the start and end angles,or that the computed angles fall within the corresponding angularranges.

In some embodiments, the different time instants further include timeinstants posterior to the first time instant and anterior to the secondtime instant. For example, the different time instants further include afourth time instant, the fourth time instant being posterior to thefirst time instant and anterior to the second time instant, and thefourth time instant being anterior or posterior to the third timeinstant.

In some embodiments, the method further comprises: providing a fifthplane, defined by the first plane definition, corresponding to thefourth time instant; providing a fifth pair of vectors by projecting thefirst orientation and the second orientation, corresponding to thefourth time instant, onto the fifth plane; and computing a fifth anglebetween the pair of vectors of the fifth pair of vectors; anddetermining the correct reproduction of the movement further comprisesthat the fifth angle is greater than the start angle and less than theend angle.

When the plurality of orientations of the target is provided for moretime instants (e.g. fourth, fifth, sixth time instants, etc.),determining the correct reproduction of the movement involves comparingthat the corresponding computed angles (of the second, third, fourth,etc. predetermined constraints) corresponding to said time instants fallwithin the corresponding angular ranges.

In some embodiments, the plane definition of each predeterminedconstraint (having a plane definition) of the movement comprises: anorientation of the plurality of orientations, said orientation defininga normal vector of the plane for each of the different time instants,and said orientation being different from the pair of orientations forwhich the predetermined constraint is defined; or a plane that isconstant for the different time instants.

The plane definition may relate to an orientation of the plurality oforientations of the target. In this sense, determining whether themovement that the target carries out is reproduced correctly dependsupon orientations of the target. Particularly, even though eachpredetermined constraint is defined for a pair of orientations that willbe assessed in order to establish whether they fulfill the constraint(i.e. start and end angles, or angular range), an orientation of thetarget may influence said fulfillment. For example, when the target is aperson and the pair of orientations of a predetermined constraint relateto the upper arm and the torso, respectively, the relative angularmovement between the two may be based on a plane determined by theorientation of the upper arm or the torso.

As the target performs the movement, the orientation of the planedefinition may change, thus the plane onto which the orientationscorresponding to different time instants are projected may change aswell.

The plane definition may also relate to a constant plane, for instancebut without limitation, the horizontal or a vertical plane.

In some examples, the plane definition of one or more predeterminedconstraints is an orientation of the target and the plane definition ofremaining predetermined constraints is a plane that is constant for thedifferent time instants.

In some examples, one or more predetermined constraints are defined by asame plane definition.

In some embodiments, the method determines the correct reproduction ofthe movement of the target further based on one or more accelerationsthereof at the different time instants, the movement being furtherdefined by a second (and/or further) predetermined constraint, thesecond predetermined constraint being defined for a first accelerationof the one or more accelerations and defined by a first accelerationinterval, and a first direction. In these embodiments, the methodfurther comprises: providing an acceleration value corresponding to eachtime instant (e.g. first and second acceleration values corresponding tothe first and second time instants, first to sixth acceleration valuescorresponding to first to sixth time instants, etc.), based on both thefirst acceleration and the first direction. Further, determining thecorrect reproduction of the movement comprises that at least one of theacceleration values is within the first acceleration interval. That isto say, that one, some or all of the acceleration values provided is/areequal to or greater than a lower threshold (i.e. lower accelerationthreshold) of the acceleration interval and equal to or less than anupper threshold (i.e. upper acceleration threshold) of the accelerationinterval.

The movement limitations resulting from the second predeterminedconstraint and/or additional predetermined constraints may relate to theacceleration of one or more parts of the tracked target. Theacceleration values are computed based on the first direction, whichestablishes the movement limitation in terms of acceleration in thatparticular direction.

The first and second acceleration values are computed upon establishingthe direction of the first acceleration measurements in accordance withthe direction defined in the second (and/or further) predeterminedconstraint as the movement that is to be reproduced by the targetinherently has a direction. In this sense, each acceleration valueprovided corresponds to the norm of the first acceleration at theparticular time instant taking into account the direction (i.e. whetherit goes in one direction or the opposite one) or, alternatively,corresponds to the component of the first acceleration along the firstdirection at the particular time instant. Therefore, if for example thetarget accelerates in one direction at the first time instant and stopsat the second time instant, the first and second acceleration valueswill have opposite sign. The direction defined in the predeterminedconstraint may be, for example, an axis (e.g. a vertical axis, ahorizontal axis, etc.), a three-dimensional vector, an angle, or a rangeof directions (in the form of axes, vectors or an angular range), any ofwhich makes possible to establish in which direction the tracked targetor part thereof is accelerating.

In some of these embodiments, the second (and/or further) predeterminedconstraint is further defined by a percentage threshold and a windowsize. In these embodiments, the method further comprises providing asliding window with size equal to the window size, and sliding thesliding window from the first time instant to the second time instantsuch that the sliding window includes the provided acceleration valueswithout exceeding the window size. Further, determining the correctreproduction of the movement comprises that each time the sliding windowincludes as many acceleration values as the window size, at least apercentage of the acceleration values within the window size equal tothe percentage threshold is within the first acceleration interval. Thatis to say, every time the sliding window is full of acceleration values,a percentage resulting from a number of acceleration values in thewindow falling within the first acceleration interval divided by thewindow size is equal to or greater than the percentage threshold.

By applying the sliding window and the percentage threshold, the second(and/or further) predetermined constraint may limit in a greater orlesser degree the movement to be reproduced by the target since, inthese cases, it may occur that at some time instants an accelerationvalue provided does not fall within the acceleration interval yet it isdetermined that the target correctly reproduced the movement. Saiddegree thus depends on both the window size and the percentagethreshold.

In some embodiments, the method determines the correct reproduction ofthe movement of the target further based on one or more accelerationsthereof at the different time instants, the movement being furtherdefined by a third, fourth and/or further predetermined constraints,each such constraint being defined fora predetermined acceleration ofthe one or more accelerations (e.g. first, second, or furtheracceleration) and defined by a predetermined acceleration interval, anda predetermined direction. In these embodiments, the method furthercomprises, for each such predetermined constraint: providing anacceleration value corresponding to each time instant based on both thepredetermined acceleration and the predetermined direction. Further,determining the correct reproduction of the movement comprises that atleast one of the acceleration values is within the predeterminedacceleration interval. Also, in some of these embodiments, each suchconstraint is further defined by a percentage threshold and a windowsize, and the correct reproduction of the movement follows the sameprocedure explained above.

In some embodiments, predetermined constraints aside from the firstpredetermined constraint are: predetermined constraints being definedfor a pair of orientations of the plurality of orientations,predetermined constraints being defined for an acceleration, or acombination thereof.

Aside from the first predetermined constraint, the movement may thus belimited by predetermined constraints defining the angular movementbetween pairs of orientations, and/or predetermined constraints definingthe linear movement of the tracked target or one or more parts thereof.

In some embodiments, the method further comprises, prior to the step ofdetermining the correct reproduction of the movement, storing eachpredetermined constraint of the movement in a memory. In theseembodiments, for each predetermined constraint one of the following isstored:

-   -   the two corresponding orientations for which the predetermined        constraint is defined; the corresponding start and end angles,        or the corresponding angular range; and the corresponding plane        definition; and    -   the corresponding acceleration for which the predetermined        constraint is defined, the corresponding direction, the        corresponding acceleration interval and, optionally, both the        corresponding percentage threshold and the corresponding window        size.

These data may be stored for one or more of the first, second, third,fourth, etc. predetermined constraints. The angular range preferablycomprises a lower threshold and an upper threshold. The plane may be themathematical definition of the plane or an indication of whichorientation of the plurality of orientations is to be used for definingthe plane (the normal vector thereof being the orientation). Thedirection preferably comprises a mathematical definition of an axis, athree-dimensional vector, an angle, or a range of directions in the formof axes, vectors or an angular range. The acceleration intervalpreferably comprises a lower acceleration threshold and an upperacceleration threshold.

In some embodiments, determining the correct reproduction of themovement further comprises producing a feedback for each computed angle,the feedback comprising an indication of whether the computed anglefulfills each condition for determining that the movement is correctlyreproduced. In some of these embodiments, determining the correctreproduction of the movement further comprises producing a feedback foreach acceleration value provided, the feedback comprising an indicationof whether the acceleration value provided fulfills each condition fordetermining that the movement is correctly reproduced.

The feedback indicates whether the computed angles corresponding to thefirst predetermined constraint fulfill that: the first angle is equal toor less than the start angle, the second angle is equal to or greaterthan the end angle, and any additional angle thereof (e.g. third angle)is greater than the start angle and less than the end angle. Thefeedback also indicates whether the computed angle(s) corresponding tothe second and/or any additional predetermined constraint fulfill thatthe computed angle(s) is/are within the corresponding angular range(s).

When two or more predetermined constraints are analyzed, a hierarchicalrelation may be established between the same. If the computed anglescorresponding to the first predetermined constraint do not fulfill eachcondition associated therewith, a negative feedback indicating anincorrect reproduction of the movement is produced. Otherwise, if thecomputed angle(s) or acceleration value(s) corresponding to the secondpredetermined constraint fulfills each condition associated therewith, apositive feedback indicating the correct reproduction of the movement isproduced; whereas if the computed angle(s) or acceleration value(s)corresponding to the second predetermined constraint do not fulfill eachcondition associated therewith, a detailed feedback is produced,indicating that the second predetermined constraint is not verified.

That is, in case of a negative evaluation (i.e. the method detects thata movement is not performed correctly) the method preferably providesdetailed feedback regarding which predetermined constraint orconstraints are not fulfilled. If the movements of a user are to beevaluated with the method of the present disclosure, the user may beinformed which predetermined constraints have not been fulfilled so thatthe user may try to adjust his or her movement so as to correctlyreproduce it. The computational efficiency of the invention may makepossible to provide this information in real-time.

Preferably, the method determines that the movement is not correctlyreproduced if a computed angle, corresponding to a predeterminedconstraint and to at least one time instant that is posterior to thefirst time instant and anterior to the second time instant, does notfulfill each condition associated therewith. That is, if in said atleast one time instant taking place between the first and the secondtime instants, a plane of a predetermined constraint is provided, thevectors corresponding to the projection of the pair of orientations ontothe plane are provided, the angle between the vectors is computed, andthe computed angle is outside the corresponding angular range (or isless than the start angle if it is the first predetermined task), themethod determines that the movement is not correctly reproduced.

In some embodiments, the produced feedback may be at least one of:stored in an internal memory, transmitted through a communicationsnetwork (wired or wireless), and displayed through a user interface.

In some embodiments, the target is a user. That is to say, the user is aperson. In some other embodiments, the target is an object. For examplebut without limitation, the object may be a robot, an exoskeleton orexosuit.

In some embodiments, the method further comprises receiving, at thedifferent time instants, each orientation of the plurality oforientations and, optionally, each acceleration of the one or moreaccelerations from motion tracking means. In some of these embodiments,receiving, at the different time instants, each orientation of theplurality of orientations and, optionally, each acceleration of the oneor more accelerations from motion tracking means comprises: receiving,at the different time instants, the first orientation and, optionally, afirst acceleration from a first sensor of the motion tracking meansattached to a first segment of a user's body, and receiving, at thedifferent time instants, the second orientation and, optionally, asecond acceleration from a second sensor of the motion tracking meansattached to a second segment of a user's body. In some of theseembodiments, receiving, at the different time instants, each orientationof the plurality of orientations and, optionally, each acceleration ofthe one or more accelerations from motion tracking means comprisesreceiving, at the different time instants, additional orientations (e.g.third, fourth, fifth, sixth orientations, etc.) and, optionally, anacceleration from a respective additional sensor (e.g. third, fourth,fifth, sixth sensor, etc.) of the motion tracking means attached to arespective segment (e.g. third, fourth, fifth, sixth segment, etc.) of auser's body.

In some embodiments, the method further comprises sensing, at thedifferent time instants, each orientation of the plurality oforientations and, optionally, each acceleration of the one or moreaccelerations with motion tracking means. In some of these embodiments,sensing, at the different time instants, each orientation of theplurality of orientations and, optionally, each acceleration of the oneor more accelerations with motion tracking means comprises: sensing, atthe different time instants, the first orientation and, optionally, afirst acceleration with a first sensor of the motion tracking meansattached to a first segment of a user's body, and sensing, at thedifferent time instants, the second orientation and, optionally, asecond acceleration with a second sensor of the motion tracking meansattached to a second segment of a user's body. In some of theseembodiments, sensing, at the different time instants, each orientationof the plurality of orientations and, optionally, each acceleration ofthe one or more accelerations with motion tracking means comprisessensing, at the different time instants, additional orientations (e.g.third, fourth, fifth, sixth orientations, etc.) and, optionally, anacceleration with a respective additional sensor (e.g. third, fourth,fifth, sixth sensor, etc.) of the motion tracking means attached to arespective segment (e.g. third, fourth, fifth, sixth segment, etc.) of auser's body.

In some embodiments, the first segment comprises a first limb of theuser and the second segment comprises a second limb of the user. In someof these embodiments, the first limb and the second limb are attached toa same joint of the user. That is, the first limb is connected to thesecond limb by means of a joint. In some other embodiments, the firstand second limbs are not attached to a same joint of the user.

A second aspect of the invention relates to a method for determining acorrect reproduction of a movement of a target at least based on one ormore accelerations thereof at different time instants, the differenttime instants at least including first and second time instants, thesecond time instant being posterior to the first time instant, themovement being defined by at least a first predetermined constraint, thefirst predetermined constraint being defined for a first acceleration ofthe one or more accelerations and defined by start and end accelerationthresholds, and a first direction, the method comprising: providingfirst and second acceleration values corresponding to the first andsecond time instants, respectively, based on both the first accelerationand the first direction; computing a first comparison between the firstacceleration value and the start acceleration threshold; computing asecond comparison between the second acceleration value and the endacceleration threshold; and determining the correct reproduction of themovement if: the first acceleration value is greater than or equal tothe start acceleration threshold, and the second acceleration value isless than or equal to the end acceleration threshold.

The method makes possible to evaluate and, thus, determine whether amovement is correctly reproduced by processing first accelerationmeasurements corresponding to an acceleration that a target (e.g. anobject, a person, a body member of a person) has been subjected to whilea movement has been performed by said target. The movement is consideredto be reproduced correctly if each predetermined constraint defining themovement is fulfilled by the movement performed by the target asdetermined from the first acceleration measurements at the differenttime instants.

The method is a computer-implemented method carried out by a devicecomprising a memory and a processor, such as a personal computer, atablet, a digital signal processor, etc. The processor is configured todetermine the correct reproduction of the movement by the target basedon the measurements provided by motion tracking means that track themotion of the target. The motion tracking means are provided with one ormore sensors that provide the acceleration of the target so that themovement performed by the target may be established based on saidacceleration. In this sense, the motion tracking means may comprise e.g.a first sensor attachable to the target (for instance, to a firstsegment of a user's body) and adapted to measure the first acceleration.

The first and second acceleration values are computed upon establishingthe direction of the first acceleration measurements in accordance withthe direction defined in the predetermined constraint as the movementthat is to be reproduced by the target inherently has a direction. Inthis sense, the first and second acceleration values correspond to thenorm of the first acceleration at the first and second time instantstaking into account the direction (i.e. whether it goes in one directionor the opposite one) or, alternatively, correspond to the component ofthe first acceleration along the first direction at the first and secondtime instants. Therefore, if for example the target accelerates in onedirection at the first time instant and stops at the second timeinstant, the first and second acceleration values will have oppositesign. The direction defined in the predetermined constraint may be, forexample, an axis (e.g. a vertical axis, a horizontal axis, etc.), athree-dimensional vector, an angle, or a range of directions (in theform of axes, vectors or an angular range), any of which makes possibleto establish in which direction the tracked target or part thereof isaccelerating.

By way of example, if the direction for which the movement is defined inthe first predetermined constraint is a vertical direction, when thetracked target or part thereof accelerates in a direction that deviatesfrom the defined direction it will be less likely that the firstacceleration value is greater than or equal to the start accelerationthreshold, and/or that the second acceleration value is less than orequal to the end acceleration threshold.

In some embodiments, the movements are defined by more than onepredetermined constraint. Each predetermined constraint limits more themovement against which the movement (of the target) resulting from theone or more accelerations (e.g. the first acceleration) and, optionally,a plurality of orientations (at the different time instants) is to becompared. Hence, further acceleration measurements (provided by motiontracking means) or computed angles according to the first aspect of theinvention are to be compared so as to determine whether thepredetermined constraints are fulfilled and, thus, the movement iscorrectly reproduced.

In some embodiments, the movement is further defined by a second (and/orfurther) predetermined constraint, the second predetermined constraintbeing defined for a second acceleration of the one or more accelerationsand defined by a first acceleration interval, and a second direction. Inthese embodiments, the method further comprises: providing anacceleration value corresponding to each time instant (e.g. third andfourth acceleration values corresponding to the first and second timeinstants), based on both the second acceleration and the seconddirection. Further, determining the correct reproduction of the movementcomprises that at least one of the acceleration values is within thefirst acceleration interval. That is to say, that one, some or all ofthe acceleration values provided is/are equal to or greater than a lowerthreshold (i.e. lower acceleration threshold) of the accelerationinterval and equal to or less than an upper threshold (i.e. upperacceleration threshold) of the acceleration interval.

The movement limitations resulting from the second predeterminedconstraint and/or additional predetermined constraints may furtherrelate to the acceleration of one or more parts of the tracked target.The acceleration values are computed based on the direction defined inthe particular predetermined constraint, said direction establishing themovement limitation in terms of acceleration in that particulardirection.

The acceleration values are computed upon establishing the direction ofthe second acceleration measurements in accordance with the directiondefined in the second (and/or further) predetermined constraint as themovement that is to be reproduced by the target inherently has adirection. Each acceleration value provided may correspond to the normof the second acceleration at the particular time instant taking intoaccount the defined direction (i.e. whether it goes in one direction orthe opposite one) or, alternatively, correspond to the component of thesecond acceleration along the defined direction at the particular timeinstant.

In some of these embodiments, the second (and/or further) predeterminedconstraint is further defined by a percentage threshold and a windowsize. In these embodiments, the method further comprises providing asliding window with size equal to the window size, and sliding thesliding window from the first time instant to the second time instantsuch that the sliding window includes the provided acceleration valueswithout exceeding the window size. Further, determining the correctreproduction of the movement comprises that each time the sliding windowincludes as many acceleration values as the window size, at least apercentage of the acceleration values within the window size equal tothe percentage threshold is within the first acceleration interval. Thatis to say, every time the sliding window is full of acceleration values,a percentage resulting from a number of acceleration values in thewindow falling within the first acceleration interval divided by thewindow size is equal to or greater than the percentage threshold.

By applying a sliding window and a percentage threshold, the second(and/or further) predetermined constraint may limit in a greater orlesser degree the movement to be reproduced by the target.

In some embodiments, the different time instants further include a thirdtime instant, the third time instant being posterior to the first timeinstant and anterior to the second time instant.

In some embodiments, the different time instants further include timeinstants posterior to the first time instant and anterior to the secondtime instant. For example, the different time instants further include afourth time instant, the fourth time instant being posterior to thefirst time instant and anterior to the second time instant, and thefourth time instant being anterior or posterior to the third timeinstant.

In some embodiments, the movement is further defined by a third, fourthand/or further predetermined constraints, each such constraint beingdefined for a predetermined acceleration of the one or moreaccelerations (e.g. second, third, or further acceleration) and definedby a predetermined acceleration interval, and a predetermined direction.In these embodiments, the method further comprises, for each suchpredetermined constraint: providing an acceleration value correspondingto each time instant based on both the predetermined acceleration andthe predetermined direction. Further, determining the correctreproduction of the movement comprises that at least one of theacceleration values is within the predetermined acceleration interval.Also, in some of these embodiments, each such constraint is furtherdefined by a percentage threshold and a window size, and the correctreproduction of the movement follows the same procedure explained above.

In some embodiments, the method determines the correct reproduction ofthe movement of the target further based on a plurality of orientationsthereof at the different time instants, the movement being furtherdefined by a second (and/or further) predetermined constraint, thesecond predetermined constraint being defined for two orientations ofthe plurality of orientations (e.g. first and second orientations) anddefined by a start angle, an end angle and a plane definition. In theseembodiments, the method further comprises: providing as many planes astime instants are, each plane being defined by the plane definition andcorresponding to one time instant (e.g. first and second planescorresponding to the first and second time instants, first to sixthplanes corresponding to first to sixth time instants, etc.); for eachtime instant, providing as many pairs of vectors as planes are byprojecting the first orientation and the second orientation,corresponding to the time instant, onto a respective plane (e.g. forfirst and second time instants, first and second pairs of vectors areprovided by projecting the two orientations onto the first and secondplanes corresponding to the first and second time instants); and foreach pair of vectors, computing an angle between the pair of vectors.Further, determining the correct reproduction of the movement comprisesthat a first angle (corresponding to the first time instant) is equal toor less than the start angle, a second angle (corresponding to thesecond time instant) is equal to or greater than the end angle, and,optionally, any computed angle corresponding to a time instant betweenthe first and the second time instants (e.g. a third angle correspondingto a third time instant, the third time instant being posterior to thefirst time instant and anterior to the second time instant) is equal toor greater than the start angle and equal to or less than the end angle.

The first predetermined constraint limits the movement in terms of alinear displacement, whereas further predetermined constraint(s) limitthe movement in terms of an angular movement between a pair oforientations of the tracked target.

In some embodiments, predetermined constraints aside from the firstpredetermined constraint are: predetermined constraints being definedfor an acceleration, predetermined constraints being defined for a pairof orientations of the plurality of orientations, or a combinationthereof.

In some embodiments, determining the correct reproduction of themovement comprises producing a feedback for each acceleration valueprovided, the feedback comprising an indication of whether theacceleration value provided fulfills each condition for determining thatthe movement is correctly reproduced. In some of these embodiments,determining the correct reproduction of the movement further comprisesproducing a feedback for each computed angle, the feedback comprising anindication of whether the computed angle fulfills each condition fordetermining that the movement is correctly reproduced.

In some embodiments, the produced feedback may be at least one of:stored in an internal memory, transmitted through a communicationsnetwork (wired or wireless), and displayed through a user interface.

In some embodiments, the target is a user. That is to say, the user is aperson. In some other embodiments, the target is an object. For examplebut without limitation, the object may be a robot, an exoskeleton orexosuit.

In some embodiments, the method further comprises receiving, at thedifferent time instants, each acceleration of the one or moreaccelerations and, optionally, each orientation of the plurality oforientations from motion tracking means. In some of these embodiments,receiving, at the different time instants, each acceleration of the oneor more accelerations and, optionally, each orientation of the pluralityof orientations from motion tracking means comprises: receiving, at thedifferent time instants, the first acceleration and, optionally, a firstorientation from a first sensor of the motion tracking means attached toa first segment of a user's body. In some of these embodiments,receiving, at the different time instants, each acceleration of the oneor more accelerations and, optionally, each orientation of the pluralityof orientations from motion tracking means further comprises: receiving,at the different time instants, a second acceleration and/or a secondorientation from a second sensor of the motion tracking means attachedto a second segment of a user's body. In some of these embodiments,receiving, at the different time instants, each acceleration of the oneor more accelerations and, optionally, each orientation of the pluralityof orientations from motion tracking means comprises receiving, at thedifferent time instants, additional accelerations (e.g. third, fourth,fifth, sixth accelerations, etc.) and/or an additional orientation ofthe plurality of orientations (e.g. third, fourth, fifth, sixthorientations, etc.) from a respective additional sensor (e.g. third,fourth, fifth, sixth sensor, etc.) of the motion tracking means attachedto a respective segment (e.g. third, fourth, fifth, sixth segment, etc.)of a user's body.

In some embodiments, the method further comprises sensing, at thedifferent time instants, each acceleration of the one or moreaccelerations and, optionally, each orientation of the plurality oforientations with motion tracking means. In some of these embodiments,sensing, at the different time instants, each acceleration of the one ormore accelerations and, optionally, each orientation of the plurality oforientations with motion tracking means comprises: sensing, at thedifferent time instants, the first acceleration and, optionally, a firstorientation with a first sensor of the motion tracking means attached toa first segment of a user's body. In some of these embodiments, sensing,at the different time instants, each acceleration of the one or moreaccelerations and, optionally, each orientation of the plurality oforientations with motion tracking means further comprises: sensing, atthe different time instants, the second acceleration and/or a secondorientation with a second sensor of the motion tracking means attachedto a second segment of a user's body. In some of these embodiments,sensing, at the different time instants, each acceleration of the one ormore accelerations and, optionally, each orientation of the plurality oforientations with motion tracking means comprises sensing, at thedifferent time instants, additional accelerations (e.g. third, fourth,fifth, sixth accelerations, etc.) and/or an additional orientation ofthe plurality of orientations (e.g. third, fourth, fifth, sixthorientations, etc.) with a respective additional sensor (e.g. third,fourth, fifth, sixth sensor, etc.) of the motion tracking means attachedto a respective segment (e.g. third, fourth, fifth, sixth segment, etc.)of a user's body.

In some embodiments, the method further comprises, prior to the step ofdetermining the correct reproduction of the movement, storing eachpredetermined constraint of the movement in a memory. In theseembodiments, for each predetermined constraint one of the following isstored:

-   -   the corresponding acceleration for which the predetermined        constraint is defined, the corresponding start and end        acceleration thresholds, and the corresponding direction;    -   the corresponding acceleration for which the predetermined        constraint is defined, the corresponding direction, the        corresponding acceleration interval and, optionally, both the        corresponding percentage threshold and the corresponding window        size; and    -   the two corresponding orientations for which the predetermined        constraint is defined, the corresponding angular range; and the        corresponding plane definition.

In some embodiments, the plane definition of each predeterminedconstraint (having a plane definition) of the movement comprises: anorientation of the plurality of orientations, said orientation defininga normal vector of the plane for each of the different time instants,and said orientation being different from the pair of orientations forwhich the predetermined constraint is defined; or a plane that isconstant for the different time instants.

In some embodiments, the first segment comprises a first limb of theuser and the second segment comprises a second limb of the user. In someof these embodiments, the first limb and the second limb are attached toa same joint of the user. That is, the first limb is connected to thesecond limb by means of a joint. In some other embodiments, the firstand second limbs are not attached to a same joint of the user.

Further, same or similar combination of predetermined constraints asdescribed with reference to the first aspect of the invention may alsoform part of particular embodiments of this aspect as it will be readilyapparent to the skilled person, the same being also disclosed within thescope of the present disclosure.

A third aspect of the present invention relates to a device fordetermining a correct reproduction of a movement of a target. The devicecomprises a processor configured or programmed to perform the steps of amethod according to the first aspect of the invention, or the steps of amethod according to the second aspect of the invention.

The device may comprise:

-   -   A memory that provides the reference to the pair of orientations        and/or acceleration(s) associated with some or each        predetermined constraint, the plane definition and/or direction        associated with some or each predetermined constraint, and the        set of angles (start and end angles, or angular range) or        accelerations (start and end acceleration thresholds, or        acceleration interval) associated with some or each        predetermined constraint; optionally, it may also provide the        reference to both the predetermined percentage and the window        size associated with some or each predetermined constraint.    -   A user interface that may display the produced feedback so that        a user may know the outcome of the determination and, in some        cases, why the movement is not reproduced correctly. The user        interface may comprise any number of input and/or output means        known in the state of the art, such as buttons, screens,        touch-screens, speakers, etc. The device may also be implemented        without any interface accessible to the user; the evaluation        results may be stored in a memory for ulterior analysis, or        transmitted to a remote server or application.    -   First communication means, adapted to receive data from motion        tracking means. Said first communication means may be        implemented according to a wired or wireless technology and        protocol known by the skilled person, for instance but without        limitation, Bluetooth communications, cellular network        communications (e.g. GSM, UMTS, LTE), wireless LAN        communications, etc. Therefore, the first communication means        may comprise an antenna, a connection port to a router, etc.        adapted to receive a plurality of orientations and/or        accelerations from the motion tracking means, either directly        (i.e. from the motion tracking means) or through a        communications network.    -   Second communication means, which connect the device with a        remote server or application for transmission of data thereto.        Said second communication means may be implemented according to        a wired or wireless technology and protocol known by the skilled        person, for instance but without limitation, Bluetooth        communications, cellular network communications (e.g. GSM, UMTS,        LTE), wireless LAN communications, etc.

A fourth aspect of the present invention relates to a system fordetermining a correct reproduction of a movement of a target. The systemcomprises: a device according to the third aspect of the invention; anda motion tracking means for sensing the plurality of orientations and/orthe one or more accelerations.

In some embodiments, the motion tracking system at least comprises afirst sensor adapted to measure the first orientation and a secondsensor adapted to measure the second orientation. In some of theseembodiments, the first sensor is further adapted to measure the firstacceleration. In some of these embodiments, the second sensor is furtheradapted to measure the second acceleration. In some of theseembodiments, the motion tracking system further comprises additionalsensors adapted to measure additional orientations and/or accelerations(e.g. third, fourth, fifth, sixth sensors adapted to measure third,fourth, fifth, sixth orientations and/or accelerations, respectively).

In some embodiments, the motion tracking system at least comprises afirst sensor adapted to measure the first acceleration. In some of theseembodiments, the motion tracking system further comprises a secondsensor adapted to measure the second acceleration. In some of theseembodiments, the first sensor is further adapted to measure the firstorientation and the second sensor is further adapted to measure thesecond orientation. In some of these embodiments, the motion trackingsystem further comprises additional sensors adapted to measureadditional accelerations and/or orientations (e.g. third, fourth, fifth,sixth sensors adapted to measure third, fourth, fifth, sixthaccelerations and/or orientations, respectively).

In some embodiments, the first sensor is attachable to a first segmentof a user's body. In some of these embodiments, the second sensor isattachable to a second segment of a user's body. In some of theseembodiments, each additional sensor (e.g. third, fourth, fifth, sixthsensor) is attachable to another segment (e.g. third, fourth, fifth,sixth segment) of a user's body.

In some embodiments, the system further comprises communications meansfor communicatively coupling the device with the motion tracking means.

In a fifth aspect of the present invention, a computer program productis disclosed, comprising instructions which, when the program isexecuted by a device, cause the device to carry out the method of thefirst aspect of the invention, or the method of the second aspect of theinvention. The device may be a computer, a digital signal processor, afield-programmable gate array, an application-specific integratedcircuit, a micro-processor, a micro-controller, or any other form ofprogrammable hardware.

In a sixth aspect of the present invention, a computer-readable storagemedium is disclosed, comprising instructions which, when the program isexecuted by a computer, cause the computer to carry out the method ofthe first aspect of the invention, or the method of the second aspect ofthe invention.

A seventh aspect of the present invention relates to a method forsupervising a physical exercise of a user, the physical exercisecomprising a movement, the method comprising: detecting the movement ofthe user with motion tracking means; providing a plurality oforientations and/or one or more accelerations resulting from thedetection of the movement; and one of:

determining, with a method according to the first aspect of theinvention, correct reproduction of the movement of the user based on theplurality of orientations provided and, optionally, also based on theone or more accelerations; and

determining, with a method according to the second aspect of theinvention, correct reproduction of the movement of the user based on theone or more accelerations and, optionally, also based on the pluralityof orientations provided.

The method makes possible to supervise the physical exercises performedby a target, in this case the user. The detected movements are providedin the form of orientations and/or accelerations and, subsequently, themovements performed by the user are assessed in order to determinewhether the reproduction thereof is correct. Upon determining whetherthe reproduction of the movement is correct, the same user or adifferent user may be informed of the determination. Accordingly, theuser may gain knowledge of how he/she is performing the move so as tocontinue performing it in that way or correct it if necessary.

In some embodiments, the physical exercise is a fitness exercise, andthe movement is a fitness movement.

In some embodiments, the physical exercise is a rehabilitation exercise,and the movement is a rehabilitation movement.

Similar advantages as those described for the first aspect of theinvention or the second aspect of the invention may also be applicableto the third, fourth, fifth, sixth and seventh aspects of the invention.

Additional advantages and features of the invention will become apparentfrom the detailed description that follows and will be particularlypointed out in the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

To complete the description and in order to provide for a betterunderstanding of the invention, a set of drawings is provided. Saiddrawings form an integral part of the description and illustratesembodiments of the invention, which should not be interpreted asrestricting the scope of the invention, but just as examples of how theinvention can be carried out. The drawings comprise the followingfigures:

FIGS. 1A-1B show examples of orientations of a user.

FIGS. 2A-2D schematically illustrate a movement performed by a user.

FIGS. 3A-3D, 4A-4D partially illustrate methods according to embodimentsof the invention in relation to the movement of FIGS. 2A-2D.

FIGS. 5-7 illustrate determination of correct reproduction of a movementwith methods according to embodiments of the invention.

FIGS. 8A-8B schematically illustrate a movement performed by a user.

FIGS. 9-11 illustrate determination of correct reproduction of amovement with methods according to embodiments of the invention.

FIG. 12 schematically illustrates the main elements of a device and asystem of the invention, according to an embodiment thereof.

DESCRIPTION OF WAYS OF CARRYING OUT THE INVENTION

FIGS. 1A-1B schematically exemplify scenarios of application ofparticular embodiments of the method, device and system of theinvention, where the correct reproduction of a movement is determinedbased on orientation measurements of multiple segments (21-24) of auser's body (20). The user (20) has a plurality of limbs (21-24), someof which are connected to other limbs (21-24) through a common joint(26-28).

Each limb (21-24) defines one or more orientations (v₁-v₈), for instancebut not limited to, as three-dimensional vectors. For example, in FIGS.1A-1B, three different orientations (v₄-v₆) of a torso (24) areillustrated; in this case, two orientations (v₄, v₆) define the two axesof the torso (24) and, thus, are contained in a plane of the torso (24),and a third orientation (v₅) defines the normal vector of the plane ofthe torso (24). Similarly, each of the right upper and lower arms (21,22) is illustrated defining two different orientations: one orientationalong the segment of the limb and one orientation as a normal vector ofa plane containing the segment.

When carrying out the method of the present disclosure, which in severalembodiments is a computer-implemented method, in some embodiments eachorientation (v₁-v₈) may be projected onto a plane (10) in accordancewith a plane definition of a predetermined constraint. By way ofexample, the plane (10) of FIG. 1A is defined by orientation v₆ of theuser, particularly, the normal vector of the plane (10) is theorientation v₆ of the width dimension of the torso (24). As illustratedin FIG. 1A, when orientations v₁ and v₄ are projected onto the plane(10), the angle between the resulting vectors may be computed, such asthe angle alpha between the vectors v_(1,1) and v_(4,1). By way ofanother example, the plane (11) of FIG. 1B is defined by orientation v₅of the user, particularly, the normal vector of the plane (11) is theorientation v₅ of the normal vector of the plane of the torso (24). Asillustrated in FIG. 1B, when orientations v₁ and v₂ are projected ontothe plane (11), the angle between the resulting vectors may be computed,such as the angle beta between the vectors v_(1,1) and v_(2,1).

FIGS. 2A-2D schematically illustrate a movement performed by the user(20).

FIG. 2A shows the user (20) about to start an elbow flexion movement ata first time instant (e.g. t₁). The user (20) is standing upright withthe right arm (21-23) extended such that an angle is formed with respectto the orientation v₄ of the torso (24). FIG. 2B shows the user (20)once he/she has finished the elbow flexion movement at a second timeinstant (e.g. t₂) that is posterior to the first time instant, that is,t₂>t₁. The user (20) is standing upright with the right arm (21-23)bent, and such that the upper arm (21) forms an angle with respect tothe orientation v₄ of the torso (24) that is similar to the angle ofFIG. 2A. FIGS. 2C and 2D show the user (20), at time instants (forexample third and fourth time instants, e.g. t₃ and t₄) occurringbetween the first and the second time instants (that is, t₁<t₃<t₂ andt₁<t₄<t₂), partially bending the right arm (21-23) so as to perform theelbow flexion movement.

FIGS. 3A-3D partially illustrate, in relation to the movement of FIGS.2A-2D, methods according to embodiments of the invention in which amovement is at least defined by a first predetermined constraint.

FIG. 3A shows a plane P_(1,1) provided for the first time instant ofFIG. 2A. The plane P_(1,1) corresponds to the first predeterminedconstraint and is defined by a plane definition (of the firstpredetermined constraint) based on the orientation v₆ (as normal vectorof the plane) of the user (20) at the first time instant. Projected ontosaid plane are orientations v₁ and v₂ of the user (20) at the first timeinstant, thereby providing vectors v_(1,1) and v_(2,1), respectively.The angle α₁ between the two vectors may then be computed and comparedwith the start and end angles of the first predetermined constraint.FIG. 3B shows a plane P_(1,2) provided for the second time instant ofFIG. 2B based on the orientation v₆ at the second time instant. Theorientations v₁ and v₂ of the user (20) at the second time instant areprojected onto the plane P_(1,2) thereby providing vectors v_(1,2) andv_(2,2), respectively, so that the angle α₂ between the two vectors maybe computed and compared with the start and end angles of the firstpredetermined constraint. FIGS. 3C and 3D show planes P_(1,3) andP_(1,4) provided for third and fourth time instants (as in FIGS. 2C and2D), both taking place between the first and the second time instants,and based on the orientation v₆ at those time instants. The orientationsv₁ and v₂ of the user (20) at those time instants are projected onto theplane P_(1,3), thereby providing vectors v_(1,3) and v_(2,3),respectively, and onto the plane P_(1,4), thereby providing vectorsv_(1,4) and v_(2,4), respectively. The angles α₃ and α₄ between eachpair of vectors may be computed and compared with the start and endangles of the first predetermined constraint.

In one exemplary method explained with reference to FIGS. 3A-3D, themovement to be reproduced by the user (20) is defined by a firstpredetermined constraint for the orientations v₁ and v₂ of the user(20); the first predetermined constraint is defined by a start angle(e.g. SA₁, for example 10°), an end angle (e.g. EA₁, for example 90°)and a plane definition (e.g. P₁) with which planes P_(1,1) to P_(1,4)are provided. The angle α₁ (corresponding to t₁) is less than or equalto SA₁, therefore the user (20) has not started the reproduction of themovement yet. The angle α₂ (corresponding to t₂) is greater than orequal to EA₁, therefore the user (20) has finished the reproduction ofthe movement.

If only the orientations corresponding to time instants t₁ and t₂ wereprovided by motion tracking means, the method would determine that theuser (20) correctly reproduced the movement. If the motion trackingmeans also provided the orientations of the user (20) corresponding totime instant t₃, since the angle α₃ is greater than SA₁ and less thanEA₁, the method would also determine that the user (20) correctlyreproduced the movement. Further, if the motion tracking means alsoprovided the orientations of the user (20) corresponding to time instantt₄, since the angle α₄ is greater than SA₁ and less than EA₁, the methodwould also determine that the user (20) correctly reproduced themovement.

FIGS. 4A-4B partially illustrate, in relation to the movement of FIGS.2A-2D, methods according to embodiments of the invention in which amovement is at least defined by first and second predeterminedconstraints.

FIG. 4A shows a plane P_(2,1) provided for the first time instant ofFIG. 2A. The plane P_(2,1) corresponds to a second predeterminedconstraint and is defined by a plane definition (of the secondpredetermined constraint, e.g. P₂) based on the orientation v₇, that isa normal vector of the right upper arm (21). Projected onto said planeare orientations v₁ and v₄ of the user (20) at the first time instant,thereby providing vectors v_(1,5) and v_(4,1), respectively. The angleβ₁ between the two vectors may then be computed and compared with theangular range of the second predetermined constraint. FIG. 4B shows aplane P_(2,2) provided for the second time instant of FIG. 2B based onthe orientation v₇ at the second time instant. The orientations v₁ andv₄ of the user (20) at the second time instant are projected onto theplane P_(2,2) thereby providing vectors v_(1,6) and v_(4,2),respectively, so that the angle β₂ between the two vectors may becomputed and compared with the angular range. FIGS. 4C and 4D showplanes P_(2,3) and P_(2,4) provided for third and fourth time instants(as in FIGS. 2C and 2D), both taking place between the first and thesecond time instants, and based on the orientation v₇ at those timeinstants. The orientations v₁ and v₄ of the user (20) at those timeinstants are projected onto the plane P_(2,3), thereby providing vectorsv_(1,7) and v_(4,3), respectively, and onto the plane P_(2,4), therebyproviding vectors v_(1,8) and v_(4,4), respectively. The angles β₃ andβ₄ between each pair of vectors may be computed and compared with theangular range of the second predetermined constraint.

In one exemplary method explained with reference to FIGS. 3A-3D and4A-4D, the movement to be reproduced by the user (20) is defined by afirst predetermined constraint for the orientations v₁ and v₂ of theuser (20), and further defined by a second predetermined constraint forthe orientations v₁ and v₄ of the user (20). In this exemplary method,the first predetermined constraint is considered to be the same of theexample described in relation to FIGS. 3A-3D. Further, the secondpredetermined constraint is defined by an angular range (e.g. AR₁, forinstance from 30° to 90°) and a plane definition (e.g. P₂) with whichplanes P_(2,1), P_(2,2), P_(2,3) and P_(2,4) are provided. The angle β₁(corresponding to t₁) is comprised in AR₁ (i.e.AR_(1,LOW)≤β₁≤AR_(1,HIGH), where AR_(1,LOW) and AR_(1,HIGH) are thelower and upper limits of the angular range), therefore the user (20) iscomplying with the second predetermined constraint while reproducing themovement. The angle β₂ (corresponding to t₂) is comprised in AR₁,therefore the user (20) is complying with the second predeterminedconstraint while reproducing the movement. The angle β₃ (correspondingto t₃) is comprised in AR₁, therefore the user (20) is complying withthe second predetermined constraint while reproducing the movement. Theangle β₄ (corresponding to t₄) is not comprised in AR₁ (i.e.β₄≤AR_(1,LOW) or β₄≥AR_(1,HIGH)), therefore the user (20) is notcomplying with the second predetermined constraint while reproducing themovement.

In this example, if only the orientations corresponding to time instantst₁ and t₂ were provided by motion tracking means, the method woulddetermine that the user (20) correctly reproduced the movement since thefirst and second predetermined constraints are fulfilled (each of α₁,α₂, β₁ and β₂ complies with the conditions of the correspondingpredetermined constraint). If the motion tracking means also providedthe orientations of the user (20) corresponding to time instant t₃,since the angle β₃ is within AR₁ (and SA₁<α₃<EA₁), the method would alsodetermine that the user (20) correctly reproduced the movement. Incontrast, if the motion tracking means also provided the orientations ofthe user (20) corresponding to time instant t₄, since the angle β₄ isoutside AR₁ (and even though SA₁<α₄<EA₁), the method would determinethat the user (20) did not correctly reproduced the movement.

FIG. 5 illustrates determination of correct reproduction of a movementwith a method according to an embodiment of the invention.

The movement is defined by three predetermined constraints (i.e. PC₁,PC₂, PC₃), each defined for a pair of orientations, and defined by a setof angles (SA₁, EA₁, AR₁, AR₂) and a plane definition. Motion trackingmeans provide orientations of a target in different time instants atleast including time instants t₁ to t₅, each in a same global referenceframe. Illustrated in the graph are the conditions that the computedangles (α, β, γ) must fulfill for each of PC₁ to PC₃, for the differenttime instants, in order for the exemplary method to determine that themovement is correctly reproduced by the target.

In this embodiment, if for example at one time instant taking placebefore t₂ and after t₁ one of the conditions of any predeterminedconstraint is not fulfilled, the method determines that the movement isnot correctly reproduced and the method is restarted so as to evaluate asubsequent movement of the target. For example, if one of the conditionscorresponding to t₄ of PC₁-PC₃ is not fulfilled, the method does notfurther check whether the conditions corresponding to t₅ and t₂ of thepredetermined constraints are fulfilled or not, but rather determinesthat the movement is not correctly reproduced and checks at a next timeinstant whether the condition of t₁ is fulfilled or not for thesubsequent movement to be reproduced by the target.

In some examples, it may be determined that the target that wasreproducing the movement did not carry out the entire motion of themovement as defined by the first predetermined constraint. Using forinstance the example of FIG. 5 , the computed angle(s) corresponding tothe first predetermined constraint and to one or more consecutive timeinstants that are posterior to the first time instant t₁ may be comparedwith the computed angle(s) corresponding to previous time instants so asto determine if the target stopped carrying out the movement halfway.This is determined when the evolution of the computed angle gets closerto SA₁ than to EA₁ (as SA₁ is normally less than EA₁, then the evolutionof the computed angle is decreasing) over time. Still referring to theexample of FIG. 5 , if the computed angle α₅ is less than α₄, and α₄ isless than α₃, and the difference of α₅ and α₄ (that is, the differenceof the computed angles between two consecutive time instants), or thedifference of α₅ and α₃ (that is, the entire difference of the computedangles corresponding to more than two consecutive time instants) isequal to or greater than a predefined decrease threshold, then it isdetermined that the reproduction of the movement is not correct andthat, furthermore, the target stopped the movement halfway (forinstance, if a person is the target, the person may have given up on theperformance of the movement).

The first predetermined constraint may thus be also defined by thepredefined decrease threshold, which is an angular difference that thecomputed angle(s) between two or more consecutive time instants mustreach decreasingly. By way of example, if SA₁ is 30°, EA₁ is 90°, α₃ is51°, α₄ is 45°, and α₅ is 36°, if the predefined decrease threshold is14°, then the method would determine that the target did not finish themovement at time instant t₅ because the reduction from α₃ to α₅ exceedsthe predefined decrease threshold and because the computed angles α₄,and α₅ are less than previous consecutive computed angles (i.e.α₃>α₄>α₅).

The feedback produced may reflect that the movement was not correctlyreproduced because during reproduction of the same the target performedthe movement in the direction reverse to that of the first predeterminedconstraint.

FIG. 6 illustrates determination of correct reproduction of a movementwith a method according to another embodiment of the invention.

The movement is defined by three predetermined constraints (i.e. PC₁,PC₂, PC₃), each defined for a pair of orientations, and defined by a setof angles (SA₁, EA₁, AR₁, AR₂) and a plane definition. Motion trackingmeans provide orientations of a target in different time instants atleast including time instants t₁ and t₂, each orientation in a sameglobal reference frame. Illustrated in the graph are the conditions thatthe computed angles must fulfill for each of PC₁ to PC₃, for the firstand second time instants, in order for the exemplary method to determinethat the movement is correctly reproduced by the target.

FIG. 7 illustrates determination of correct reproduction of a movementwith a method according to another embodiment of the invention.

The movement is defined by two predetermined constraints (i.e. PC₁,PC₂), each defined for a pair of orientations, and defined by a set ofangles (SA₁, EA₁, AR₁) and a plane definition. Motion tracking meansprovide orientations of a target in different time instants at leastincluding time instants t₁, t₂ and t₃, each orientation in a same globalreference frame. Illustrated in the graph are the conditions that thecomputed angles must fulfill for each of PC₁ and PC₂, for the first,second and third time instants, in order for the exemplary method todetermine that the movement is correctly reproduced by the target.

Further, if in one exemplary embodiment (for instance as illustrated inFIG. 7 ) the first predetermined constraint is also defined by apredefined decrease threshold (e.g. 11°), if SA₁ is −20°, EA₁ is 45°, α₃is 39°, and α2 is 28° then the method would determine that the targetdid not finish the movement at time instant t₂. The reduction from α₃ toα₂ is equal to the predefined decrease threshold and the computed angleα₂ is less than previous consecutive computed angles (i.e. α₃>α₂).

FIGS. 8A-8B schematically illustrate a movement performed by the user(20).

The user (20) moves a right shoulder thereof upwards from a firstposition, illustrated in FIG. 8A, until it reaches a second position,illustrated in FIG. 8B. The movement of the shoulder does not involve anangular rotation of the limbs or joints (26-28) of the user (20), butrather a vertical displacement of the shoulder joint (28), which in turninvolves the displacement of the arm and the remaining joints (26, 27)of said arm.

When the user (20) starts to perform the movement, the shoulder joint(28) accelerates (a₁) in a vertical direction. The user (20) ends theupwards movement of the shoulder upon stopping the vertical displacementof the joint (28), at which point the joint (28) is subject to anacceleration (a₂) in a direction opposite to the direction of theacceleration (a₁) for starting the movement. The accelerations (a₁, a₂)are measurable by, for instance, a sensor of motion tracking meansattached to the shoulder or the upper arm; the sensor comprises anaccelerometer providing the acceleration measurements including thedirections of the measured accelerations.

FIG. 9 illustrates determination of correct reproduction of a movementwith a method according to another embodiment of the invention.

The movement is defined by three predetermined constraints (i.e. PC₁,PC₂, PC₃): the first one (PC₁) defined for a first acceleration, and bya first direction and both start and end acceleration thresholds (κ₁,κ₂); the second one (PC₂) defined for a pair of orientations and by anangular range (AR₁) and a plane definition; and the third one (PC₃)defined for a second acceleration and by both a second direction and anacceleration interval (AI₁). Illustrated in the graph are the conditionsthat the measured accelerations and computed angle must fulfill for eachof PC₁ to PC₃, for the first and second time instants, in order for theexemplary method to determine that the movement is correctly reproducedby the target.

Motion tracking means provide the first and second accelerations and thepair of orientations of a target in different time instants at leastincluding time instants t₁ and t₂, each orientation in a same globalreference frame. For example, two or more wearable sensors are arrangedon an upper arm and a chest of a user such as the user (20) of FIGS.8A-8B, and they provide orientation and acceleration measurements at thedifferent time instants. As the first acceleration corresponds to thevertical movement of the shoulder, the first direction defined in thefirst predetermined constraint corresponds to a vertical direction,whereas the second direction defined in the third predeterminedconstraint may or may not coincide with the first direction, somethingwhich depends on the limitation applied to the movement to be performed.Regarding the latter, if for example the concerned accelerationlimitation in the movement is in a direction ranging from −20° to 20°relative to a vertical plane, the second direction represents said rangeof directions.

The movement to be performed by the user, according to the threepredetermined constraints, is a movement of the shoulder upwards whilemaintaining the chest relatively steady (accelerations being reduced ina direction parallel to a vertical axis and in directions forming anangle with the vertical axis up to 20° so that the shoulder is not moveddue to a movement of the chest) and the upper arm not rotating (or notrotating substantially) relative to the chest. In this sense: the firstacceleration measurements (a₁, a₂) correspond to the acceleration thatthe upper arm has been subjected to at the first and second timeinstants t₂, respectively, in the first direction; the computed angles(β₁, β₂) correspond to the relative angular differences between theorientations of the upper arm and the chest (and, thus, indicative ofthe relative angular movement between the two body members) at the firstand second time instants (t₁, t₂), respectively; and the secondacceleration measurements (b₁, b₂) correspond to the acceleration thatthe chest has been subjected to at the first and second time instants(t₁, t₂), respectively, in the second direction(s).

When the user starts the movement, the first acceleration (a₁) at t₁must be greater than or equal to a start acceleration threshold (Ki,i.e. kappa subindex 1); for this, a device digitally processes the firstacceleration so as to establish whether the measured acceleration is inthe first direction or comprises a component in the first direction.Also, when the user starts the movement, the computed angle at t₁ shallbe within the angular range (AR₁). When the user ends the movement, thefirst acceleration (a₂) at t₂ must be less than or equal to an endacceleration threshold (κ₂, i.e. kappa subindex 2); for this, the devicedigitally processes the second acceleration so as to establish whetherthe measured acceleration is in the second direction or comprises acomponent in the second direction. Also, when the user ends themovement, the computed angle at t₂ shall be within the angular range(AR₁). Additionally, as explained in more detail with reference to FIG.10 , at at least one of the first and second time instants (t₁, t₂), butpreferably at both time instants (t₁, t₂), the second acceleration (b₁,b₂) at the respective time instant shall be within the accelerationinterval (AI₁) for determining that the movement has been correctlyreproduced (when the first and second predetermined constraints aremet). The acceleration interval (AI₁) is defined by upper and loweracceleration thresholds, said thresholds preferably being also part ofthe interval, therefore the second acceleration measurements may beequal to one of the thresholds in order to be within the interval.

FIG. 10 illustrates determination of correct reproduction of a movementwith a method according to another embodiment of the invention, in linewith the predetermined constraints of FIG. 9 .

In the figure a chart is represented with a plurality of discrete valuesover time. A set of first acceleration ‘a’ values is represented withsquares, a set of second acceleration ‘b’ values is represented withcircles, and a set of computed angle ‘β’ values is represented withtriangles. In the chart are also represented the start and endacceleration thresholds κ₁ and κ₂ (represented with dashed lines), upperand lower angle thresholds A₁ and A₂ (represented with dash-dottedlines) defining the angular range AR₁, and upper and lower accelerationthresholds B₁ and B₂ (represented with dotted lines) defining theacceleration interval AI₁.

In some embodiments, the magnitude of the acceleration ‘a’ and ‘b’values corresponds to the norm of the acceleration measurements, yet thesign thereof is maintained based on the direction of the accelerationmeasurements. In some other embodiments, the magnitude of theacceleration ‘a’ and ‘b’ values corresponds to the accelerationcomponent in the direction of the expected movement, that is to say, itcorresponds to the part of the acceleration measurements that isparallel to the expected movement (in accordance with the directiondefined in the respective predetermined constraint); the device carryingout the determination of correct reproduction of the movement processesthe acceleration measurements so as to compute said accelerationcomponent.

When the user starts to perform the shoulder movement, the firstacceleration ‘a’ values start to raise in the first direction and arepositive. At a first time instant 81, the acceleration ‘a’ value isabove the start acceleration threshold (κ₁), thus the device carryingout the determination may consider that the user started the movement inaccordance with the first predetermined constraint. Based on saidpredetermined constraint, the user is to end the movement when theacceleration ‘a’ value is below the end acceleration threshold (κ₂),something which occurs at a second time instant 84; prior to reachingthat value, the acceleration ‘a’ further increased (after the first timeinstant 81) and then decreased.

During the time interval between the first and second time instants 81,84, the computed angles ‘β’ were within the angular range (AR₁), therebyfulfilling the second predetermined constraint.

During that same time interval, the second acceleration ‘b’ values inthe second direction were within the acceleration interval (AI₁) exceptfor two values occurring at two intermediate time instants 82, 83. Insome embodiments, second and/or further predetermined constraints (e.g.PC₂, PC₃, PC₄, etc.) defined for acceleration measurements are alsodefined by both a percentage threshold and a window size. In theseembodiments, the device digitally evaluating the fulfillment of thepredetermined constraints provides a sliding window with a size innumber of samples equal to the window size, and every time it receives anew acceleration value corresponding to that/those predeterminedconstraint(s), the window slides so as to encompass the most recentacceleration value while removing the oldest acceleration value insidethe window if the window was full (i.e. had as many samples as thewindow size). The device considers that the predetermined constraint(s)is/are fulfilled if every time the sliding window is filled with samplesat least a number N of samples inside the window is within theacceleration interval AI₁, and the ratio N over the window size is equalto or greater than the percentage threshold. Accordingly, if the windowsize is 10, and the percentage threshold is 70%, at least 7 samplesinside the window (while the window is filled with 10 samples) arewithin AI₁. In some other embodiments, second and/or furtherpredetermined constraints do not have the percentage threshold and thewindow size defined, thus for fulfilling the corresponding predeterminedconstraints all the acceleration samples occurring during the movement(in this example, between the first and second time instants 81, 84)need be within the acceleration interval (AI₁).

In the present example of FIG. 10 , the third predetermined constraint(PC₃) is defined by a percentage threshold of 60% and a window size of5, hence even if two second acceleration ‘b’ values at two intermediatetime instants 82, 83 fall outside the acceleration interval (AI₁), thepredetermined constraint is met because the sliding window every timehas at least three of the five acceleration ‘b’ values thereof withinthe acceleration interval (AI₁) between the first and second timeinstants 81, 84. In this case, the sliding window becomes full ofsamples at the time instant posterior to the second intermediate timeinstant 83, therefore the sliding window will slide three times, and thethird predetermined constraint (PC₃) will be processed four timesbetween the first and second time instants 81, 84.

As all three predetermined constraints are fulfilled, the devicedetermines that the user correctly reproduced the movement.

FIG. 11 illustrates determination of correct reproduction of a movementwith a method according to another embodiment of the invention.

The movement is defined by two predetermined constraints (i.e. PC₁,PC₂): the first one (PC₁) for a pair of orientations, and defined by aset of angles (SA₁, EA₁, AR₁) and a plane definition, and the second one(PC₂) defined for an acceleration and by both a first direction and anacceleration interval (AI₁). Illustrated in the graph are the conditionsthat the computed angles and the acceleration measurements must fulfillfor each of PC₁ and PC₂, for first, second and third time instants inorder for the exemplary method to determine that the movement iscorrectly reproduced by the target. In some examples, the secondpredetermined constraint (PC₂) is also defined by a percentage thresholdand a window size, in which cases it may occur that the accelerationmeasurements do not have to fall within the acceleration interval (AI₁)in all three time instants (t₁, t₂, t₃).

Motion tracking means provide the acceleration and the pair oforientations of a target in different time instants at least includingtime instants t₁, t₂, t₃, each orientation in a same global referenceframe. The values of the acceleration measurements (i.e. a₁, a₂, a₃) maybe the norm of the acceleration measurements maintaining the signthereof based on both the direction of the acceleration measurements andthe first direction, or the acceleration component in the direction ofthe expected movement (i.e. the first direction) to be performed by thetarget.

FIG. 12 schematically shows a system according to an embodiment of theinvention. The system comprises a motion tracking means (100), a device(200) according to an embodiment of the invention, and a remote server(300). Motion tracking means (100) may be implemented with anytechnology known in the state of the art, capable of providingorientation and/or acceleration information, individualized for one, twoor more body segments (that is, limbs, parts of limbs, or any other partof the body with articulation capabilities). Some non-limiting examplesof known technologies for these motion tracking means (100) are 3D imagecapture techniques, wearable transmission devices connected to externaltriangulation receptors, wearable sensors including, for example,gyroscopes, magnetometers, and/or accelerometers (e.g. wearableaccelerometers). Regardless of the particular implemented technology, atleast a first orientation (v₁) and a second orientation (v₂) of at leasttwo segments of the user's body are provided to the device (200), and/orat least a first acceleration (a₁) of at least a segment of the user'sbody is provided to the device (200).

The motion tracking means (100) provide the orientations and/oraccelerations together with an identification of each orientation and/oracceleration, for example an identification of the sensor providing theorientation and/or acceleration, or an identification of the segment orlimb associated with the orientation and/or acceleration. The device(200) uses the identification of the orientations and/or accelerationsto select the particular orientations and/or accelerations for whicheach predetermined constraint is defined; similarly, in a method fordetermining a correct reproduction of a movement according to thepresent disclosure, the particular orientations and/or accelerations forwhich each predetermined constraint is defined are selected so as tocarry out the different steps of the method.

The device (200) comprises first communication means (210) for receivingthe orientation and/or acceleration information from the motion trackingmeans (100), that is, the first orientation (v₁), the second orientation(v₂), and any additional orientation vectors, and/or, the first and/orfurther accelerations, of the different time instants, required fordetermining the correct execution of the particular movement underanalysis. The first communication means (210) may be implementedaccording to a technology and protocol known in the state of the art,and may either be a direct connection or include any number ofintermediate connection networks.

The device (200) comprises second communication means (220) throughwhich it may transmit and/or receive data to the remote server (300)(e.g. a user may transmit data regarding the definition of movementsand/or predetermined constraints, such as updated ranges of constraints,a user may also transmit data for selecting a movement to be assessed sothat the appropriate angular ranges and/or acceleration intervals forvalidating the movement are selected, etc.). Said second communicationmeans (220) may be implemented according to a technology and protocolknown in the state of the art, and may be a direct connection or includeany number of intermediate connection networks. In a non-limitingexample, said remote server (300) may be a database from which a usermay then retrieve information about the movements being tracked, forinstance through a personal device such as a computer or a phone.

The first communication means (210) and the second communication means(220) may be implemented either with the same technology, sharing thesame physical resources, or with different technologies known in thestate of the art. Some embodiments of the invention may be implementedwithout the remote server (300). In this case, feedback regardingwhether the movement is correctly reproduced, as determined by thedevice (200), may be stored in an internal memory (240) of the device(200) or displayed for the user's knowledge through any kind of userinterface (250) of the device (200). Through the user interface (250), auser may also select the angular ranges and/or acceleration intervals ofeach constraint, and select which movement or movements are to beanalyzed.

Once the first orientation (v₁) and the second orientation (v₂) arereceived by the device (200), the predetermined constraints of themovement under analysis are verified at the processor (230). For saidverification, the device (200) is configured to access the memory (240)for gathering which orientations and, thus, body segments need to becompared (i.e. the vectors provided by the motion tracking means 100associated with said body segments), the plane(s) onto which saidvectors are to be projected, and the angular conditions that need to bemet. Additionally or alternatively, once the first acceleration isreceived by the device (200), the predetermined constraints of themovement under analysis are verified at the processor (230). For saidverification, the device (200) is configured to access the memory (240)for gathering which accelerations and, thus, body segments need to becompared (i.e. the acceleration measurements provided by the motiontracking means 100 associated with said body segments), the direction,and the start and end acceleration thresholds that need to be met.

Even though in the present disclosure it is explained that the startangle is less than the end angle so that the first computed angle(concerning the first predetermined constraint) must be less than orequal to the start angle and the second computed angle (concerning thefirst predetermined constraint) must be greater than or equal to the endangle in order to correctly reproduce the movement, it is readilyapparent that it is also possible that the angles of the firstpredetermined constraint may be defined the other way around, that is,the start angle is greater than the end angle. In that case, the firstcomputed angle must be greater than or equal to the start angle, and thesecond computed angle must be less than or equal to the end angle inorder to determine that the movement has been reproduced correctly.Similarly, even it is explained that the first acceleration value mustbe greater than or equal to the start acceleration threshold and thesecond acceleration value must be less than or equal to the endacceleration threshold (concerning the first predetermined constraint)in order to determine that the movement is correctly reproduced, it isreadily apparent that it is also possible to define these thresholds orthe direction defined in the first predetermined constraint the otherway around. In that case, the first acceleration value must be less thanor equal to the start acceleration threshold, and the secondacceleration value must be greater than or equal to the end accelerationthreshold in order to determine that the movement has been reproducedcorrectly.

In this text, the term “time instant” is meant to refer to a particularmoment of time, but it is readily apparent that it may involve a timeduration, that is as short as possible, inherent to the speed and/orsynchronization of the devices. For example, the motion tracking meansmay not provide the orientations of a target in a moment of time but ina short time duration. The time duration is preferably less than 100milliseconds, and more preferably less than 50 ms, 25 ms, 10 ms and/or 5ms.

In this text, the term “comprises” and its derivations (such as“comprising”, etc.) should not be understood in an excluding sense, thatis, these terms should not be interpreted as excluding the possibilitythat what is described and defined may include further elements, steps,etc.

Even though the terms first, second, third, etc. have been used hereinto describe several parameters or variables, it will be understood thatthe parameters or variables should not be limited by these terms sincethe terms are only used to distinguish one parameter or variable fromanother. For example, the second time instant or t₂ could as well benamed third time instant or t₃, and the third time instant or t₃ couldbe named second time instant or t₂ without departing from the scope ofthis disclosure.

On the other hand, the invention is obviously not limited to thespecific embodiment(s) described herein, but also encompasses anyvariations that may be considered by any person skilled in the art (forexample, as regards the choice of materials, dimensions, components,configuration, etc.), within the general scope of the invention asdefined in the claims.

1.-14. (canceled)
 15. A computer-implemented method for determining areproduction of a movement of a user according to a predeterminedmovement constraint for an exercise, comprising: (a) receiving, from amotion tracking system, first and second orientations at a first timeand third and fourth orientations at a second time; (b) projecting thefirst and second orientations at the first time onto a first plane; (c)projecting the third and fourth orientations at the second time onto asecond plane; (d) computing a first calculation based on the first andsecond orientations projected onto the first plane and a secondcalculation based on the third and fourth orientations projected ontothe second plane; and (e) determining the reproduction of the movementbased at least in part on a comparison of the first calculation and thesecond calculation with the predetermined movement constraint.
 16. Thecomputer-implemented method of claim 15, wherein the first and secondorientations are projected onto the first plane as a first pair ofvectors.
 17. The computer-implemented method of claim 16, wherein thethird and fourth orientations are projected onto the second plane as asecond pair of vectors.
 18. The computer-implemented method of claim 17,wherein computing the first calculation comprises computing a firstangle between the first pair of vectors and computing the secondcalculation comprises computing a second angle between the second pairof vectors.
 19. The computer-implemented method of claim 15, wherein thepredetermined movement constraint comprises a constraint on range ofmovement for the exercise.
 20. The computer-implemented method of claim19, wherein the constraint on range of movement comprises an angularrange or a start angle and an end angle that limit the range of movementby the user for performing the exercise.
 21. The computer-implementedmethod of claim 19, wherein the predetermined movement constraintfurther comprises a constraint on one or more accelerationscorresponding to the movement of the user.
 22. The computer-implementedmethod of claim 15, wherein the first plane and the second plane eachcorresponds to an orientation of the user and are defined according tothe predetermined movement constraint.
 23. The computer-implementedmethod of claim 22, wherein each the orientation of the user is anorientation of a limb or body segment.
 24. The computer-implementedmethod of claim 23, wherein the limb or body segment comprises a leg,upper arm, lower arm or forearm, head, or torso.
 25. Thecomputer-implemented method of claim 15, wherein the exercise comprisesa physical therapy exercise.
 26. The computer-implemented method ofclaim 15, wherein the computer-implemented method is performed inreal-time.
 27. The computer-implemented method of claim 26, furtherwherein the reproduction of movement is determined to be correct orincorrect.
 28. The computer-implemented method of claim 27, wherein thereproduction of movement is determined to be incorrect when the movementdoes not fulfill the predetermined movement constraint.
 29. Thecomputer-implemented method of claim 27, further comprising providingfeedback to the user indicating the reproduction of movement is corrector incorrect.
 30. The computer-implemented method of claim 29, whereinthe feedback indicates what condition of the predetermined movementconstraint has not been fulfilled.
 31. The computer-implemented methodof claim 15, wherein the user is a person or an object.
 32. Thecomputer-implemented method of claim 31, wherein the object is a robot,an exoskeleton, or an exosuit.
 33. The computer-implemented method ofclaim 31, wherein the motion tracking system comprises a first sensoradapted to measure the first orientation at the first time and the thirdorientation at the second time and a second sensor adapted to measurethe second orientation at the first time and the fourth orientation atthe second time.
 34. The computer-implemented method of claim 33,wherein the first sensor and the second sensor each comprise anaccelerometer and a gyroscope.